[firebase_dynamic_links] make sure the initial link resolves#2580
[firebase_dynamic_links] make sure the initial link resolves#2580hffmnn wants to merge 4 commits into
Conversation
|
@hffmnn thanks for that fix. I tested and seems to work. I tested with a custom deep link and also As this is a recurring issue open now for a year can someone with the authority press the merge button? Thanks. |
|
@degloff Good to hear that it works for you.
Would need quite some conflict resolution and some retesting because |
|
@hffmnn actually I don't think it is too much of an issue, your changes are just in FLTFirebaseDynamicLinksPlugin.m and that did not change too much. But better if someone looks at it again with good ObjectiveC knowledge. |
|
I think there's a misunderstanding of what The actual app start link (initial link) can be delivered to either |
|
@koskimas Thanks for the clarification. However I exactly tested the ^0.6.0+2 version of the plugin by first registering The downside of @hffmnn implementation is of course that the startup phase of the app shows the white screen for a little longer before the first screen can be rendered. |
384e058 to
5b6382c
Compare
|
Closing in favour of #4354 |
Description
We found that sometimes the initial link might not resolve correctly. This is because of a possible race condition:
and link resolving starts by calling
onInitialLink.handleMethodCallis called with@"FirebaseDynamicLinks#getInitialLink"while the initial link still gets resolved_initialLinkis stillnilthat gets send via the channel.To resolve this issue, this PR
BOOL isResolvingInitialLinktoYESwhile resolving.isResolvingInitialLinkisYESwhen@"FirebaseDynamicLinks#getInitialLink"gets called and waits until it isNO.Not sure if this solution is too simplistic, but at least it worked for our case.
Related Issues
#1624
#100
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes (
[x]). This will ensure a smooth and quick review process.///).flutter analyze) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?